home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
PC World Komputer 2010 April
/
PCWorld0410.iso
/
pluginy Firefox
/
2109
/
2109.xpi
/
chrome
/
febe.jar
/
content
/
febeExtLists.js
< prev
next >
Wrap
Text File
|
2009-10-13
|
3KB
|
102 lines
// author: Chuck Baker
// contact: febe@customsoftwareconsult.com
// Version 6.3
var febeNameGuidxref = {};
function febeBuildList(){
// Clear the list
var theList = document.getElementById("febeExtList");
var children = theList.childNodes;
var n = children.length;
// Clear existing items
for (var i = 0; i < n; i++) {
theList.removeChild(children[0]);
}//for
febeGetExt();
// Sort the list
var sortArray = [];
for(var i in febeExtensionsList){
sortArray.push(febeExtensionsList[i].Name);
}//for
sortArray.sort();
for(var i in sortArray){
var data = febeExtensionsList[febeNameGuidxref[sortArray[i]]];
var row = document.createElement('listitem');
row.setAttribute('id', data.Guid );
row.setAttribute('type', "checkbox" );
row.setAttribute('label', data.Name+" - "+data.Version );
row.setAttribute('checked', "false" );
theList.appendChild( row );
}//for
document.getElementById("febeSelectAllID").setAttribute("disabled","false");
document.getElementById("febeDeselectAllID").setAttribute("disabled","false");
return true;
}//febeBuListWindow()
function febeSelect(bool){
// Select/deselect all
for(var i in febeExtensionsList){
var item = document.getElementById(i);
if(item){item.setAttribute("checked",bool);}
}//for
}//febeSelect()
function febeSaveList(){
}//febeSaveList()
function febeGetExt(){
//Get a list of all installed extensions/themes
var allExt = Application.extensions.all;
febeProfDir = Components.classes["@mozilla.org/file/directory_service;1"]
.getService(Components.interfaces.nsIProperties)
.get("ProfD", Components.interfaces.nsIFile);
febeProfDir.append("extensions");
var extDir = febeProfDir.clone();
febeExtensionsList = {};
for(var i in allExt){
var guid = allExt[i].id
var thisExt = new febeExtInfo(guid);
var eType = thisExt.type; // 2=Extension, 4=Theme
if(eType != 2 && eType != 4){continue;} // Not an extension or theme ... what is it?
var ext = new febeExtObj;
ext.Name = thisExt.name;
ext.Version = thisExt.version;
ext.Icon = thisExt.iconURL;
ext.Home = thisExt.homepageURL;
ext.Guid = guid;
ext.verified = false;
ext.Include = false;
var ePath = extDir.clone();
ePath.append(thisExt.guid)
ext.Path = ePath.path;
febeExtensionsList[guid] = ext;
febeNameGuidxref[thisExt.name] = guid;
var tmp = "";
tmp=febeExtensionsList[thisExt.guid].Name+"\n";
tmp+=febeExtensionsList[thisExt.guid].Version+"\n";
tmp+=febeExtensionsList[thisExt.guid].Path+"\n";
tmp+=febeExtensionsList[thisExt.guid].Icon+"\n";
tmp+=febeExtensionsList[thisExt.guid].Home+"\n";
tmp+=febeExtensionsList[thisExt.guid].Guid+"\n";
tmp+=febeExtensionsList[thisExt.guid].verified+"\n";
tmp+=febeExtensionsList[thisExt.guid].Include+"\n";
tmp+="type: "+eType+"\n";
tmp+=i;
if(i < 3) alert(tmp);
}//for
}//febeGetExt()